/* 
 * File:   OperationBinaire.h
 * Author: Gab'z
 *
 * Created on 2 mai 2012, 17:18
 */

#ifndef OPERATEURBINAIRE_H
#define	OPERATEURBINAIRE_H

#include "Constante.h"
#include "Operateur.h"

class OperateurBinaire : public Operateur {
public:

protected:

    OperateurBinaire(std::string name) : Operateur(name) {
    }

    virtual ~OperateurBinaire();

    virtual const Constante* apply(const Constante*, const Constante*) const throw (OperatorException) = 0;
private:
    void exec(Pile* pile) const throw (OperatorException);
};

#endif	/* OPERATEURBINAIRE_H */

